package com.example.d14_extends_constructor;

/**
 * 目标：先认识子类构造器的特点,再掌握这个特点的常见应用场景
 */
public class Test1 {
    public static void main(String[] args) {
        // 子类构造器的全部特点：都会先调用父类的构造器,在执行自己的构造器
        Z z = new Z();
        Z z2 = new Z("小雨");
    }
}

class F {
    // public F(){
    //    System.out.println("===父类F的 无参数构造器 执行了===");
    // }

    public F(String name, int age) {

    }
}

class Z extends F {
    public Z() {
        // super(); // 默认存在的
        super("小雨", 17); // 指定调用父类的有参构造器
        System.out.println("===子类Z的 无参数构造器 执行了===");
    }

    public Z(String name) {
        // super(); // 默认存在的
        super("小雨", 17);
        System.out.println("===子类Z的 有参数构造器 执行了===");
    }
}